// userStore.ts - 用户信息管理工具

// 默认用户信息
const DEFAULT_USER = {
  id: 'default_user',
  name: '默认用户',
  avatar: 'https://randomuser.me/api/portraits/men/1.jpg',
  level: 10,
  followed: false
}

// 获取当前用户信息
export function getCurrentUser() {
  try {
    // 尝试从localStorage获取用户信息
    const userStr = localStorage.getItem('currentUser')
    if (userStr) {
      return JSON.parse(userStr)
    }
    // 如果没有存储的用户信息，返回默认用户
    return DEFAULT_USER
  } catch (error) {
    console.error('获取用户信息失败:', error)
    return DEFAULT_USER
  }
}

// 获取用户显示名称
export function getUserDisplayName(): string {
  try {
    const user = getCurrentUser()
    return user.name || DEFAULT_USER.name
  } catch (error) {
    console.error('获取用户名称失败:', error)
    return DEFAULT_USER.name
  }
}

// 获取用户头像
export function getUserAvatar(): string {
  try {
    const user = getCurrentUser()
    return user.img || DEFAULT_USER.avatar
  } catch (error) {
    console.error('获取用户头像失败:', error)
    return DEFAULT_USER.avatar
  }
}

// 获取用户ID
export function getUserId(): string {
  try {
    const user = getCurrentUser()
    return user.id || DEFAULT_USER.id
  } catch (error) {
    console.error('获取用户ID失败:', error)
    return DEFAULT_USER.id
  }
}

// 设置当前用户信息
export function setCurrentUser(user: any) {
  try {
    localStorage.setItem('currentUser', JSON.stringify(user))
    return true
  } catch (error) {
    console.error('保存用户信息失败:', error)
    return false
  }
}

// 退出登录
export function logout() {
  try {
    // 清除用户相关的localStorage数据
    localStorage.removeItem('currentUser')
    localStorage.removeItem('token')
    localStorage.removeItem('userEmail')
    console.log('用户已退出登录')
    return true
  } catch (error) {
    console.error('退出登录失败:', error)
    return false
  }
}